#if !defined(FAKE_D3D10_BLEND_STATE_H)
#define FAKE_D3D10_BLEND_STATE_H

#include <d3d10.h>
#include <rt/Exceptions/NotImplementedException.h>
#include "Fakes/FakeD3D10DeviceChild.h"

class FakeD3D10BlendState : public ID3D10BlendState
{
public:
	FakeD3D10BlendState() : DeviceChild()
	{
	}

	CONTAIN_DEVICE_CHILD(DeviceChild)

	// ID3D10BlendState
	virtual void STDMETHODCALLTYPE GetDesc(D3D10_BLEND_DESC *pDesc) { throw rt::NotImplementedException(); }
};

#define CONTAIN_BLEND_STATE(member_) \
	CONTAIN_DEVICE_CHILD(DeviceChild) \
	FakeD3D10BlendState member_; \
	virtual void STDMETHODCALLTYPE GetDesc(D3D10_BLEND_DESC *pDesc) { member_.GetDesc(pDesc); }

#endif
